'''
Author: dy 2323958884@qq.com
Date: 2025-09-12 09:31:04
LastEditors: dy 2323958884@qq.com
LastEditTime: 2025-11-26 14:23:32
FilePath: /My_model/my_time.py
Description: 

Copyright (c) 2025 by dy 2323958884@qq.com, All Rights Reserved. 
'''


# 计算当前时间和 2025-8-21-8:30 之间的时间差
from datetime import datetime, timedelta

def work_time_class(out_class='day',target_time=datetime(2025, 8, 21, 8, 30)):
    """
    计算当前时间和目标时间之间的时间差
    :param out_class: 返回结果类型，可选值为'day','week','hour','minute','second','month','year'
    :param target_time: 目标时间，默认为2025年8月21日8时30分
    :return: 时间差
    """
    # 获取当前时间
    now = datetime.now()

    # 定义目标时间
    # target_time = datetime(2025, 8, 21, 8, 30)

    # 计算时间差
    time_diff =  now-target_time 

    # 打印时间差
    print("时间差为：", time_diff)
    # 打印时间差的总天数
    # print("总天数：", time_diff.total_seconds() // 86400)
 

    if out_class == 'day':
        # print("总天数：", time_diff.days)
        return time_diff.days
    elif out_class == 'week':
        # print("总周数：", time_diff.total_seconds() // 604800)
        return time_diff.total_seconds() // 604800
    elif out_class == 'hour':
        # print("总小时数：", time_diff.total_seconds() // 3600)
        return time_diff.total_seconds() // 3600
    elif out_class == 'minute':
        # print("总分钟数：", time_diff.total_seconds() // 60)
        return time_diff.total_seconds() // 60
    elif out_class == 'second':
        # print("总秒数：", time_diff.total_seconds())
        return time_diff.total_seconds()
    elif out_class =='month':
        # print("总月数：", time_diff.total_seconds() // 2629743.83)
        return time_diff.total_seconds() // 2629743.83
    elif out_class =='year':
        # print("总年数：", time_diff.total_seconds() // 31536000)
        return time_diff.total_seconds() // 31536000




def work_time(target_time = datetime(2025, 8, 21, 8, 30)):
    """
    计算当前时间和目标时间之间的时间差
    :param target_time: 目标时间
    :return: 时间差 输出格式为 天数 小时 分钟 秒
    """

    # 获取当前时间
    now = datetime.now()

    # 定义目标时间
    target_time = datetime(2025, 8, 21, 8, 30)


    # 几天几小时几分钟几秒
    # 计算时间差(应该是目标时间减去当前时间)
    time_diff =now- target_time 
    # 提取天数
    days = time_diff.days

    # 计算剩余的小时、分钟和秒
    seconds = time_diff.seconds
    hours = seconds // 3600
    minutes = (seconds % 3600) // 60
    remaining_seconds = seconds % 60


    out=f"{days}天{hours}小时{minutes}分钟{remaining_seconds}秒"
    # 打印结果
    # print(f"距离2025年8月21日8:30 已经：{out}")
    return out
